package com.learn.springbootnetty.tcpdemo.shangchuan;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.UUID;

/**
 利用TCP协议,负责接收数据
 */
public class Server {
    public static void main(String[] args) throws IOException {
          /*
            上传文件
            客户端:将本地文件上传到服务器,接收服务器的反馈
            服务器:接收客户端上传的文件,上传完毕之后给出反馈
         */

        // 1.创建服务器端的ServerSocket对象并绑定客户端连接的端口
        ServerSocket ss = new ServerSocket(10087);

        // 2.监听客户端连接:等待客户端来连接
        Socket socket = ss.accept();

        // 3.读取数据并保存到本地文件中
        BufferedInputStream bis = new BufferedInputStream(socket.getInputStream());
        String name = UUID.randomUUID().toString().replace("-","");
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:\\gsafety\\适岗状态课题\\课题5\\营运车船驾驶人员适岗状态网联智能监测预警平台-0611\\专题图管理2.png"));
        int len;
        byte[] bytes = new byte[1024];
        while((len = bis.read(bytes)) != -1){
            bos.write(bytes,0,len);
        }

        // 4.回写数据
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
        bw.write("上传成功!");
        bw.newLine(); // 换行
        bw.flush(); // 刷新流

        // 5.释放资源
        // 关闭连接通道,断开跟客户端之间的连接
        socket.close();
        // 关闭服务器
        ss.close();
    }
}
